package com.cn.serverline.lineicp.workshopPlan.entity.request;

import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.cn.serverline.lineicp.workshopPlan.entity.PlanLineAutomaticTasks;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.sql.Timestamp;
import java.util.List;

/**
 * 周总排产结果接收类
 * @author 田江余
 * @since 2024年8月12日
 */
@Data
public class LineAutomaticTasksRequest extends PlanLineAutomaticTasks {
    /**
     * 产品型号名
     */
    @ChineseDescription("产品型号名")
    private String prodConfigurationName;

    /**
     * 批次号
     */
    @ChineseDescription("批次号")
    private String lotNo;

    /**
     * 计划数量
     */
    @ChineseDescription("计划数量")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long batchQuantity;

    /**
     * 要求交付日期
     */
    @ChineseDescription("要求交付日期")
    private Timestamp deliveryDate;

    /**
     * 工位名称
     */
    @ChineseDescription("工位名称")
    private String stationName;

    /**
     * 工序名称
     */
    @ChineseDescription("工序名称")
    private String processName;

    /**
     * 产线构型名称
     */
    @ChineseDescription("产线构型名称")
    private String prodLineConfigurationName;

    /**
     * 操作员名称
     */
    @ChineseDescription("操作员名称")
    private String operatorName;

    /**
     * 开始时间
     */
    @ChineseDescription("开始时间")
    private Timestamp startTime;

    /**
     * 结束时间
     */
    @ChineseDescription("结束时间")
    private Timestamp endTime;

    /**
     * 字符类型的开始日期
     */
    @ChineseDescription("字符类型的开始日期")
    private String startDateString;

    /**
     * 字符类型的结束日期
     */
    @ChineseDescription("字符类型的结束日期")
    private String endDateString;

    /**
     * 开始时间
     */
    @ChineseDescription("开始时间")
    private Timestamp startTimeTwo;

    /**
     * 结束时间
     */
    @ChineseDescription("结束时间")
    private Timestamp endTimeTwo;


    /**
     * 批次拆分Id集合
     */
    @ChineseDescription("批次拆分Id集合")
    private List<Long> tasksIds;

    /**
     * 批次拆分id 拆分集合
     */
    @ChineseDescription("批次拆分id 拆分集合")
    private List<List<Long>> arrayTasksIds;

    /**
     * 产品型号（产品型号-批次数量）
     */
    @ChineseDescription("产品型号（产品型号-批次数量）")
    private String prodNameQuantity;

    /**
     * 工序排序
     */
    @ChineseDescription("工序排序")
    private Integer sortNo;

    /**
     * 班组id
     */
    @ChineseDescription("班组id")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long orgId;

    /**
     * 班组名称
     */
    @ChineseDescription("班组名称")
    private String orgName;
}
